package com.machinecontroller.utils;

import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Environment;

/**
 * Created by zhangxuehui on 2017/12/26.
 */

public class UpdataUtil {
    private Context mc;
    private String downloadPath4APK;
    private String TAG = "updateManager";
    String file_str = Environment.getExternalStorageDirectory().getPath() + "/CQYTJ";
//    Downloadlist dll = new Downloadlist(file_str);
//    private updateVO result;
//
//    /**
//     * 获取版本
//     *
//     * @param packagename
//     * @return
//     */
//    public int getVersion(String packagename) {
//        int versionCode = 0;
//        try {
//            PackageManager manager = mc.getPackageManager();
//            PackageInfo info = manager.getPackageInfo(packagename, 0);
//            versionCode = info.versionCode;
//        } catch (Exception e) {
//            e.printStackTrace();
//            return 0;
//        }
//        return versionCode;
//    }
//
//    /*
//     * 立即执行升级
//     *
//     * 是否放在主线程上
//     *
//     *
//     * 【1】首先需要将对象进行下载 【2】完成下载后执行静默升级
//     */
//    public void doUpdate(Context context) {
//        // 设定初始数值
//        mc = context;
//        String mac = ApiConfig.SERVER_MAC;
//        if (mac.equals("")) {
//            mac = DriveManage.getInstance().androidMacAdrr();
//        }
//        // 请求是否要下载
//        ConnectionCore cc = new ConnectionCore();
//        Map<String, String> map = new HashMap<String, String>();
//        int vint = getVersion("aiom.w3studio.apps.android.sdhr");
//        String vstr = String.valueOf(vint);
//        map.put("appvervion", vstr);
//        map.put("macaddr", mac);
//        map.put("apptype", "1");
//        Log.e("验证版本信息。", mac + "===" + vstr);
//        cc.request(mc, ApiConfig.getCheckAppVersion(), map, new DataGetesr());
//        // test 用于单独测试
//        // doService();
//        // http://10.0.8.33:8020/selfsp/ytj/common/checkAppVersion.action?macaddr=8c:18:d9:86:74:e2&appvervion=1108&apptype=1
//        // doDownload();
//    }
//
//    /**
//     * 执行一次service命令，执行更新命令
//     */
//    private void doService() {
//        // 自动升级
//        // try {
//        // Process install = Runtime.getRuntime().exec(new String[] { "su",
//        // "-c","pm install -r /mnt/sdcard/CQYTJ.apk" });
//        //// Process install = Runtime.getRuntime().exec(new String[]
//        //// {"pm install -r /mnt/sdcard/CQYTJ.apk"});
//        // install.waitFor();
//        //// install2.waitFor();
//        // if (install.exitValue() == 0) {
//        // // Success 安装成功
//        // Intent mintent = mc.getPackageManager()
//        // .getLaunchIntentForPackage(
//        // "aiom.w3studio.apps.android.sdhr");
//        // mc.startActivity(mintent);
//        // } else {
//        // // Fail
//        // }
//        // } catch (IOException e) {
//        // System.out.println(e.toString());
//        // } catch (InterruptedException e) {
//        // e.printStackTrace();
//        // }
//
//        Intent mintent = mc.getPackageManager().getLaunchIntentForPackage("aiom.w3studio.apps.android.sdhr");
//        mc.startActivity(mintent);
//        // 传入参数
//        Bundle bundle = new Bundle();
//        bundle.putInt("op", 3001);
//        bundle.putString("data", "可以传入的参数");
//        Log.e("doService()", "启动自动升级");
//        Intent intentService = new Intent("aiom.w3studio.apps.android.sdhr.update.UpdateSerivce");
//        intentService.putExtras(bundle);
//        if (mc != null) {
//            mc.startService(intentService); // startService
//        }
//    }
//
//    private void doDownload() {
//        // 第一步执行下载程序
//        // 启动下载器
//        Map<String, String> map = new HashMap<String, String>();
//        // String downUrl = ApiConfig.BASE_URL.substring(0,
//        // ApiConfig.BASE_URL.lastIndexOf("/"));
//        // map.put("CQYTJ.apk", downUrl+downloadPath4APK);
//        // Log.e("启动下载器",downUrl+downloadPath4APK);
//        map.put("CQYTJ.apk", ApiConfig.BASE_URL + downloadPath4APK);
//        Log.e("启动下载器", ApiConfig.BASE_URL + downloadPath4APK);
//        dll.downbymap(map);
//        dll.setOnProxyListener(new onDownList() {
//            @Override
//            public void onProgressUpDate(Downloadlist downloadlist) {
//
//            }
//
//            @Override
//            public void onComplete(Downloadlist downloadlist) {
//                // success all
//                // 第二部，执行更新
//
//            }
//
//            @Override
//            public void onsigleComplete(Downloadlist downloadlist) {
//                // success one
//                doService();
//            }
//        });
//    }

//    class DataGetesr implements IVOData {
//        public boolean run(String response) {
//            Gson gson = new Gson();
//            result = gson.fromJson(response, updateVO.class);
//            String success = result.getBool();
//            Log.e("验证版本信息。", result.getBool() + "=====" + result.getAppfilename());
//            if (success.equals("true")) {
//                // downloadPath4APK = result.getAppfilename();
//                downloadPath4APK = ApiConfig.downYtjApp + "?filename=" + result.getAppfilename();
//                Log.e("验证版本信息。", downloadPath4APK);
//                doDownload();
//            }
//            return false;
//        }
//
//        @Override
//        public boolean Error(String errorStr) {
//            // 出错
//            return false;
//        }
//    }
}